package com.cn.exception.hm;


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * throws方式处理异常
 * 使用方式
 * public void 方法() throws 异常类名 {
 *
 * }
 *
 * 注意事项
 * - 这个throws格式是跟在方法的括号后面的
 * - 编译时异常必须要进行处理，两种处理方案：try...catch …或者 throws，如果采用 throws 这种方案，在方法上进行显示声明,将来谁调用这个方法谁处理
 * - 运行时异常因为在运行时才会发生,所以在方法后面可以不写,运行时出现异常默认交给jvm处理
 */
public class Exception_02_Throws {
    public static void main(String[] args) throws ParseException{
        System.out.println("开始");
        //method();
        method2();
        System.out.println("结束");
    }


    //编译时异常
    public static void method2() throws ParseException {
        String s = "2048-08-09";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date d = sdf.parse(s);
        System.out.println(d);
    }

    //运行时异常
    public static void method() throws ArrayIndexOutOfBoundsException {
        int[] arr = {1, 2, 3};
        System.out.println(arr[3]);
    }
}
